# 类的特殊方法
class Book:
    def __init__(self, title, pub):
        # 构造方法，完成初始化
        self.title = title
        self.pub = pub
    def __str__(self):
        # 在显示/打印一个对象的时候自动调用，必须返回字符串
        return f'title: {self.title} pub: {self.pub}'
    def __call__(self):
        # 在将一个对象当做函数调用时候自动调用
        print('call def')

if __name__ == '__main__':
    b1 = Book('python to to to', 'piapia')
    print(b1.title, b1.pub)
    b1.__init__('cc', 'qqqq')
    print(b1.title, b1.pub)

    print(b1)
    b1()
